package com.blue.blue2019;

import java.util.HashSet;

/**
 * @auther zsj
 * @Date 2021/12/13
 * 一个字符串的非空子串是指字符串中长度至少为 1 的连续的一段字符组成
 * 的串。例如，字符串aaab 有非空子串a, b, aa, ab, aaa, aab, aaab，一共 7 个。
 * 注意在计算时，只算本质不同的串的个数。
 * 请问，字符串0100110001010001 有多少个不同的非空子串？
 **/
public class DemoThree {
    public static void main(String[] args) {
        String msg ="0100110001010001";
        int length = msg.length();
        HashSet set = new HashSet();
        for (int i=0; i<=length;i++){
            for (int j = i+1; j <= length; j++) {
                String result = msg.substring(i, j);
                set.add(result);
            }
        }
        System.out.println(set.size());
    }
}
